#include "InstanciadorDeElementos.h"


InstanciadorDeElementos::InstanciadorDeElementos() {}


InstanciadorDeElementos::~InstanciadorDeElementos() {}

Modelo::Elemento* InstanciadorDeElementos::instanciarElementoModelo(TipoElemento tipo) {

	Modelo::Elemento* elemento = NULL;

	switch (tipo) {

	case	CIRCULO: elemento = new Modelo::Circulo(); break;
	case	RECTANGULO: elemento = new Modelo::Rectangulo(); break;

	}

	return elemento;
}

Elemento* InstanciadorDeElementos::instanciar(TipoElemento tipo) {

	return instanciarElementoModelo(tipo);
}

Elemento* InstanciadorDeElementos::instanciar(TipoElemento tipo, std::string estado) {

	return instanciarElementoModelo(tipo)->cargar(estado);
}

